package sh.grapendaal.tsuushin.module.uno.engine.domain;

import java.util.LinkedList;

import sh.grapendaal.tsuushin.module.uno.engine.domain.Card.Rank;
import sh.grapendaal.tsuushin.module.uno.engine.domain.Card.Suit;

public class Stack implements Playable {
	private Rank rank;
	private Suit endSuit;
	private LinkedList<Card> cards;
	
	public Stack(Rank rank, Suit endSuit) {
		this.rank = rank;
		this.endSuit = endSuit;
	}
	
	public Stack(LinkedList<Card> cards) {
		this.cards = cards;
	}
	
	@Override
	public int getNumCards() {
		return cards.size();
	}

	@Override
	public Rank getRank() {
		return this.rank;
	}
	
	@Override
	public Suit getSuit() {
		return this.endSuit;
	}

	@Override
	public Type getType() {
		return Type.STACK;
	}

	@Override
	public boolean validateCard(Card card) {
		// TODO Implement stack logic
		return false;
	}

}
